/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.mybeans;

 
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.swing.JOptionPane;

/**
 *
 * @author avbravo
 */
public class RemolquesTraspasoNumeracionBeans {

    Sesion sesion;
    private int idNumeracionTraspaso;
    private String activo;
    private String idMunicipio;

    public RemolquesTraspasoNumeracionBeans() {
        sesion = new Sesion();
    }

    public String getActivo() {
        return activo;
    }

    public void setActivo(String activo) {
        this.activo = activo;
    }

    public String getIdMunicipio() {
        return idMunicipio;
    }

    public void setIdMunicipio(String idMunicipio) {
        this.idMunicipio = idMunicipio;
    }

    public int getIdNumeracionTraspaso() {
        return idNumeracionTraspaso;
    }

    public void setIdNumeracionTraspaso(int idNumeracionTraspaso) {
        this.idNumeracionTraspaso = idNumeracionTraspaso;
    }

    

    public boolean GuardarInicial() {
        try {

            if (sesion.Conectar() == false) {
                JOptionPane.showMessageDialog(null, "No se pudo establecer la conexion", "Mensaje", JOptionPane.INFORMATION_MESSAGE);
                return false;
            }
            String sqlquery = "select * from remolquestraspasonumeracion where idmunicipio = ?";
            PreparedStatement psquery = sesion.con.prepareStatement(sqlquery);
            psquery.setString(1, sesion.getIdmunicipio());
            ResultSet rs = psquery.executeQuery();
            rs.next();
            int x = rs.getRow();

            if (x != 0) {
                JOptionPane.showMessageDialog(null, "Existe un registro. ", "Mensaje", JOptionPane.INFORMATION_MESSAGE);
                return false;
            }
            String sql = "INSERT into remolquestraspasonumeracion values( ?,?,?)";
            PreparedStatement prest = sesion.con.prepareStatement(sql);
            prest.setInt(1, this.idNumeracionTraspaso);
            prest.setString(2, "si");
            prest.setString(3, sesion.getIdmunicipio());

            int count = prest.executeUpdate();
            sesion.con.close();
            return true;
        } catch (Exception ex) {

            sesion.MostrarMensajeError("Error", "Metodo:GuardarInicial() " + ex.getMessage().toString());
        }
        return false;
    }

    public boolean Guardar() {
        try {

            if (sesion.Conectar() == false) {
                JOptionPane.showMessageDialog(null, "No se pudo establecer la conexion", "Mensaje", JOptionPane.INFORMATION_MESSAGE);
                return false;
            }

            String sqlquery = "select * from remolquestraspasonumeracion where idmunicipio = ? and idrecibo=?";
            PreparedStatement psquery = sesion.con.prepareStatement(sqlquery);
            psquery.setString(1, sesion.getIdmunicipio());
            psquery.setInt(2,this.idNumeracionTraspaso);
            ResultSet rs = psquery.executeQuery();
            rs.next();
            int x = rs.getRow();

            if (x != 0) {
                JOptionPane.showMessageDialog(null, "Existe una numeracion de recibos con ese numero. ", "Mensaje", JOptionPane.INFORMATION_MESSAGE);
                return false;
            }


            String sql = "INSERT into remolquestraspasonumeracion values( ?,?,?)";
            PreparedStatement prest = sesion.con.prepareStatement(sql);
            prest.setInt(1, this.idNumeracionTraspaso);
            prest.setString(2, "si");
            prest.setString(3, sesion.getIdmunicipio());

            int count = prest.executeUpdate();
            sesion.con.close();
            return true;
        } catch (Exception ex) {

            sesion.MostrarMensajeError("Error", "Metodo:Guardar() " + ex.getMessage().toString());
        }
        return false;
    }

    public boolean TieneRegistros() {
        try {

            if (sesion.Conectar() == false) {
                JOptionPane.showMessageDialog(null, "No se pudo establecer la conexion", "Mensaje", JOptionPane.INFORMATION_MESSAGE);
                return false;
            }
            String sqlquery = "select * from remolquestraspasonumeracion where idmunicipio = ?";
            PreparedStatement psquery = sesion.con.prepareStatement(sqlquery);
            psquery.setString(1, sesion.getIdmunicipio());
            ResultSet rs = psquery.executeQuery();
            rs.next();
            int x = rs.getRow();

         sesion.con.close();

            if (x == 0) {
                return false;
            }

            return true;
        } catch (Exception ex) {

            sesion.MostrarMensajeError("Error", "Metodo:GuardarRecibo()\nError: " + ex.getMessage().toString());
        }
        return false;
    }

    public int NumeracionInicial() {
        try {

            if (sesion.Conectar() == false) {
                JOptionPane.showMessageDialog(null, "No se pudo establecer la conexion", "Mensaje", JOptionPane.INFORMATION_MESSAGE);
                return -1;
            }
            String sqlquery = "select * from remolquestraspasonumeracion where idmunicipio = ? order by idnumeraciontraspaso";
            PreparedStatement psquery = sesion.con.prepareStatement(sqlquery);
            psquery.setString(1, sesion.getIdmunicipio());
            ResultSet rs = psquery.executeQuery();
            rs.next();
            int x = rs.getRow();

            if (x == 0) {
                sesion.con.close();
                return -1;
            }

            int numero = rs.getInt("idnumeraciontraspaso");
            sesion.con.close();
            return numero;
        } catch (Exception ex) {

            sesion.MostrarMensajeError("Error", "Metodo:NumeracionInicial() \nError: " + ex.getMessage().toString());
        }
        return -1;
    }

    public int NumeracionUltimo() {
        try {

            if (sesion.Conectar() == false) {
                JOptionPane.showMessageDialog(null, "No se pudo establecer la conexion", "Mensaje", JOptionPane.INFORMATION_MESSAGE);
                return -1;
            }
            String sqlquery = "select * from remolquestraspasonumeracion where idmunicipio = ? order by idnumeraciontraspaso";
            PreparedStatement psquery = sesion.con.prepareStatement(sqlquery);
            psquery.setString(1, sesion.getIdmunicipio());
            ResultSet rs = psquery.executeQuery();
            rs.next();
            int x = rs.getRow();
            if (x == 0) {
                sesion.con.close();
                return -1;
            }
            rs.last();
            int numero = rs.getInt("idnumeraciontraspaso");
            sesion.con.close();
            return numero;
        } catch (Exception ex) {

            sesion.MostrarMensajeError("Error", "Metodo:NumeracionUltimo() \nError: " + ex.getMessage().toString());
        }
        return -1;
    }
}
